[INFO] fetching crate rudy 0.1.0...
[INFO] testing rudy-0.1.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate rudy 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rudy 0.1.0
[INFO] finished tweaking crates.io crate rudy 0.1.0
[INFO] tweaked toml for crates.io crate rudy 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rudy 0.1.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 5 packages to latest compatible versions
[INFO] [stderr]       Adding num-traits v0.1.43 (available: v0.2.19)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b451f2e94a91de8209c478bc476e76f042a739a779153319e4fc01867dc1c92d
[INFO] running `Command { std: "docker" "start" "-a" "b451f2e94a91de8209c478bc476e76f042a739a779153319e4fc01867dc1c92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b451f2e94a91de8209c478bc476e76f042a739a779153319e4fc01867dc1c92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b451f2e94a91de8209c478bc476e76f042a739a779153319e4fc01867dc1c92d", kill_on_drop: false }`
[INFO] [stdout] b451f2e94a91de8209c478bc476e76f042a739a779153319e4fc01867dc1c92d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c20b905a617b76ffdac0622a30a8c6adf23580b8cad44d974d41f3d3464e019
[INFO] running `Command { std: "docker" "start" "-a" "2c20b905a617b76ffdac0622a30a8c6adf23580b8cad44d974d41f3d3464e019", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rudy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `i128`
[INFO] [stdout]   --> src/key.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[cfg(feature = "i128")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `i128` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |             array1: NoDrop::new(unsafe {mem::uninitialized()}),
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |             array2: NoDrop::new(unsafe {mem::uninitialized()})
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut array1: NoDrop<A1> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:287:64
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let mut array2: NoDrop<A2> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/rudymap/jpm/branch_uncompressed.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 array: { mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:183:45
[INFO] [stdout]     |
[INFO] [stdout] 183 |                           RootMut::$type_name(mut node) => node.insert(key, value),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:210:45
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           RootMut::$type_name(mut node) => node.remove(key),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rudymap/jpm/leaf_bitmap.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut value = &mut self.values[index];
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:73:27
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub fn as_ref(&self) -> RootRef<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  73 |             pub fn as_ref(&self) -> RootRef<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:85:27
[INFO] [stdout]     |
[INFO] [stdout]  85 |               pub fn as_mut(&mut self) -> RootMut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  85 |             pub fn as_mut(&mut self) -> RootMut<'_, K, V> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:61:27
[INFO] [stdout]     |
[INFO] [stdout]  61 |               pub fn as_ref(&self) -> Ref<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  61 |             pub fn as_ref(&self) -> Ref<'_, K, V> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:71:27
[INFO] [stdout]     |
[INFO] [stdout]  71 |               pub fn as_mut(&mut self) -> Mut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  71 |             pub fn as_mut(&mut self) -> Mut<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/rudymap/jpm/branch_linear.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             node.array.push(k, v);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let _ = node.array.push(k, v);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[InnerPtr<K, V>; 256]` does not permit being left uninitialized
[INFO] [stdout]    --> src/rudymap/jpm/branch_uncompressed.rs:17:26
[INFO] [stdout]     |
[INFO] [stdout]  17 |                 array: { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout]  50 |           pub enum InnerPtr<K: Key, V> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u8::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u8::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u16::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u16::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u32::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u32::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u64::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u64::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     usize::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     usize::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] running `Command { std: "docker" "inspect" "2c20b905a617b76ffdac0622a30a8c6adf23580b8cad44d974d41f3d3464e019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c20b905a617b76ffdac0622a30a8c6adf23580b8cad44d974d41f3d3464e019", kill_on_drop: false }`
[INFO] [stdout] 2c20b905a617b76ffdac0622a30a8c6adf23580b8cad44d974d41f3d3464e019
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33477d529655b425e4c340dae824ff70749e39af6c6166b03773f8b54fb89188
[INFO] running `Command { std: "docker" "start" "-a" "33477d529655b425e4c340dae824ff70749e39af6c6166b03773f8b54fb89188", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling bencher v0.1.5
[INFO] [stdout] warning: unexpected `cfg` condition value: `i128`
[INFO] [stdout]   --> src/key.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[cfg(feature = "i128")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `i128` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |             array1: NoDrop::new(unsafe {mem::uninitialized()}),
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |             array2: NoDrop::new(unsafe {mem::uninitialized()})
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut array1: NoDrop<A1> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:287:64
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let mut array2: NoDrop<A2> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/rudymap/jpm/branch_uncompressed.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 array: { mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:183:45
[INFO] [stdout]     |
[INFO] [stdout] 183 |                           RootMut::$type_name(mut node) => node.insert(key, value),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:210:45
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           RootMut::$type_name(mut node) => node.remove(key),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rudymap/jpm/leaf_bitmap.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut value = &mut self.values[index];
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:73:27
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub fn as_ref(&self) -> RootRef<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  73 |             pub fn as_ref(&self) -> RootRef<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:85:27
[INFO] [stdout]     |
[INFO] [stdout]  85 |               pub fn as_mut(&mut self) -> RootMut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  85 |             pub fn as_mut(&mut self) -> RootMut<'_, K, V> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:61:27
[INFO] [stdout]     |
[INFO] [stdout]  61 |               pub fn as_ref(&self) -> Ref<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  61 |             pub fn as_ref(&self) -> Ref<'_, K, V> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:71:27
[INFO] [stdout]     |
[INFO] [stdout]  71 |               pub fn as_mut(&mut self) -> Mut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  71 |             pub fn as_mut(&mut self) -> Mut<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/rudymap/jpm/branch_linear.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             node.array.push(k, v);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let _ = node.array.push(k, v);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[InnerPtr<K, V>; 256]` does not permit being left uninitialized
[INFO] [stdout]    --> src/rudymap/jpm/branch_uncompressed.rs:17:26
[INFO] [stdout]     |
[INFO] [stdout]  17 |                 array: { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout]  50 |           pub enum InnerPtr<K: Key, V> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u8::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u8::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u16::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u16::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u32::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u32::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u64::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u64::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     usize::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     usize::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rudy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `i128`
[INFO] [stdout]   --> src/key.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[cfg(feature = "i128")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `i128` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:93:46
[INFO] [stdout]    |
[INFO] [stdout] 93 |             array1: NoDrop::new(unsafe {mem::uninitialized()}),
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/locksteparray.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |             array2: NoDrop::new(unsafe {mem::uninitialized()})
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:286:64
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut array1: NoDrop<A1> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/util/locksteparray.rs:287:64
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let mut array2: NoDrop<A2> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/rudymap/jpm/branch_uncompressed.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 array: { mem::uninitialized() }
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:183:45
[INFO] [stdout]     |
[INFO] [stdout] 183 |                           RootMut::$type_name(mut node) => node.insert(key, value),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rudymap/rootptr.rs:210:45
[INFO] [stdout]     |
[INFO] [stdout] 210 |                           RootMut::$type_name(mut node) => node.remove(key),
[INFO] [stdout]     |                                               ----^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rudymap/jpm/leaf_bitmap.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut value = &mut self.values[index];
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:73:27
[INFO] [stdout]     |
[INFO] [stdout]  73 |               pub fn as_ref(&self) -> RootRef<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  73 |             pub fn as_ref(&self) -> RootRef<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/rootptr.rs:85:27
[INFO] [stdout]     |
[INFO] [stdout]  85 |               pub fn as_mut(&mut self) -> RootMut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / impl_root_ptr!(
[INFO] [stdout] 243 | |     2 => Leaf1,
[INFO] [stdout] 244 | |     3 => Leaf2,
[INFO] [stdout] 245 | |     4 => VecLeaf,
[INFO] [stdout] 246 | |     5 => Jpm
[INFO] [stdout] 247 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  85 |             pub fn as_mut(&mut self) -> RootMut<'_, K, V> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:61:27
[INFO] [stdout]     |
[INFO] [stdout]  61 |               pub fn as_ref(&self) -> Ref<K, V> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  61 |             pub fn as_ref(&self) -> Ref<'_, K, V> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:71:27
[INFO] [stdout]     |
[INFO] [stdout]  71 |               pub fn as_mut(&mut self) -> Mut<K, V> {
[INFO] [stdout]     |                             ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  71 |             pub fn as_mut(&mut self) -> Mut<'_, K, V> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/rudymap/jpm/branch_linear.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |             node.array.push(k, v);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let _ = node.array.push(k, v);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[InnerPtr<K, V>; 256]` does not permit being left uninitialized
[INFO] [stdout]    --> src/rudymap/jpm/branch_uncompressed.rs:17:26
[INFO] [stdout]     |
[INFO] [stdout]  17 |                 array: { mem::uninitialized() }
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this code causes undefined behavior when executed
[INFO] [stdout]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> src/rudymap/jpm/innerptr.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout]  50 |           pub enum InnerPtr<K: Key, V> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 | / make_inner_ptr!(Empty,
[INFO] [stdout] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stdout] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stdout]     | |_______________________________________- in this macro invocation
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u8::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 | impl_key!(u8, 1);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u8::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u16::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 | impl_key!(u16, 2);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u16::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u32::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 | impl_key!(u32, 4);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u32::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     u64::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | impl_key!(u64, 8);
[INFO] [stdout]    | ----------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     u64::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] 16 +                     usize::to_ne_bytes(self.to_be())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/key.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 | impl_key!(usize, 8);
[INFO] [stdout]    | ------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stdout] 22 +                     usize::from_ne_bytes(bytes)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.10s
[INFO] running `Command { std: "docker" "inspect" "33477d529655b425e4c340dae824ff70749e39af6c6166b03773f8b54fb89188", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33477d529655b425e4c340dae824ff70749e39af6c6166b03773f8b54fb89188", kill_on_drop: false }`
[INFO] [stdout] 33477d529655b425e4c340dae824ff70749e39af6c6166b03773f8b54fb89188
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d63ae4a58a4aba287d721034c3e906097877e04919972d7d4a10a4c332b5a85a
[INFO] running `Command { std: "docker" "start" "-a" "d63ae4a58a4aba287d721034c3e906097877e04919972d7d4a10a4c332b5a85a", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unexpected `cfg` condition value: `i128`
[INFO] [stderr]   --> src/key.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[cfg(feature = "i128")]
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `i128` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/util/locksteparray.rs:93:46
[INFO] [stderr]    |
[INFO] [stderr] 93 |             array1: NoDrop::new(unsafe {mem::uninitialized()}),
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/util/locksteparray.rs:94:46
[INFO] [stderr]    |
[INFO] [stderr] 94 |             array2: NoDrop::new(unsafe {mem::uninitialized()})
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/util/locksteparray.rs:286:64
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let mut array1: NoDrop<A1> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/util/locksteparray.rs:287:64
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let mut array2: NoDrop<A2> = NoDrop::new(unsafe { mem::uninitialized() });
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/rudymap/jpm/branch_uncompressed.rs:17:31
[INFO] [stderr]    |
[INFO] [stderr] 17 |                 array: { mem::uninitialized() }
[INFO] [stderr]    |                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rudymap/rootptr.rs:183:45
[INFO] [stderr]     |
[INFO] [stderr] 183 |                           RootMut::$type_name(mut node) => node.insert(key, value),
[INFO] [stderr]     |                                               ----^^^^
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 242 | / impl_root_ptr!(
[INFO] [stderr] 243 | |     2 => Leaf1,
[INFO] [stderr] 244 | |     3 => Leaf2,
[INFO] [stderr] 245 | |     4 => VecLeaf,
[INFO] [stderr] 246 | |     5 => Jpm
[INFO] [stderr] 247 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/rudymap/rootptr.rs:210:45
[INFO] [stderr]     |
[INFO] [stderr] 210 |                           RootMut::$type_name(mut node) => node.remove(key),
[INFO] [stderr]     |                                               ----^^^^
[INFO] [stderr]     |                                               |
[INFO] [stderr]     |                                               help: remove this `mut`
[INFO] [stderr] ...
[INFO] [stderr] 242 | / impl_root_ptr!(
[INFO] [stderr] 243 | |     2 => Leaf1,
[INFO] [stderr] 244 | |     3 => Leaf2,
[INFO] [stderr] 245 | |     4 => VecLeaf,
[INFO] [stderr] 246 | |     5 => Jpm
[INFO] [stderr] 247 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `impl_root_ptr_dispatch` which comes from the expansion of the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/rudymap/jpm/leaf_bitmap.rs:37:21
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 let mut value = &mut self.values[index];
[INFO] [stderr]    |                     ----^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rudymap/rootptr.rs:73:27
[INFO] [stderr]     |
[INFO] [stderr]  73 |               pub fn as_ref(&self) -> RootRef<K, V> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 242 | / impl_root_ptr!(
[INFO] [stderr] 243 | |     2 => Leaf1,
[INFO] [stderr] 244 | |     3 => Leaf2,
[INFO] [stderr] 245 | |     4 => VecLeaf,
[INFO] [stderr] 246 | |     5 => Jpm
[INFO] [stderr] 247 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  73 |             pub fn as_ref(&self) -> RootRef<'_, K, V> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rudymap/rootptr.rs:85:27
[INFO] [stderr]     |
[INFO] [stderr]  85 |               pub fn as_mut(&mut self) -> RootMut<K, V> {
[INFO] [stderr]     |                             ^^^^^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 242 | / impl_root_ptr!(
[INFO] [stderr] 243 | |     2 => Leaf1,
[INFO] [stderr] 244 | |     3 => Leaf2,
[INFO] [stderr] 245 | |     4 => VecLeaf,
[INFO] [stderr] 246 | |     5 => Jpm
[INFO] [stderr] 247 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_root_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  85 |             pub fn as_mut(&mut self) -> RootMut<'_, K, V> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rudymap/jpm/innerptr.rs:61:27
[INFO] [stderr]     |
[INFO] [stderr]  61 |               pub fn as_ref(&self) -> Ref<K, V> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 177 | / make_inner_ptr!(Empty,
[INFO] [stderr] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stderr] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stderr]     | |_______________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  61 |             pub fn as_ref(&self) -> Ref<'_, K, V> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/rudymap/jpm/innerptr.rs:71:27
[INFO] [stderr]     |
[INFO] [stderr]  71 |               pub fn as_mut(&mut self) -> Mut<K, V> {
[INFO] [stderr]     |                             ^^^^^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 177 | / make_inner_ptr!(Empty,
[INFO] [stderr] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stderr] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stderr]     | |_______________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  71 |             pub fn as_mut(&mut self) -> Mut<'_, K, V> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/rudymap/jpm/branch_linear.rs:96:13
[INFO] [stderr]    |
[INFO] [stderr] 96 |             node.array.push(k, v);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 96 |             let _ = node.array.push(k, v);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[InnerPtr<K, V>; 256]` does not permit being left uninitialized
[INFO] [stderr]    --> src/rudymap/jpm/branch_uncompressed.rs:17:26
[INFO] [stderr]     |
[INFO] [stderr]  17 |                 array: { mem::uninitialized() }
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this code causes undefined behavior when executed
[INFO] [stderr]     |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]    --> src/rudymap/jpm/innerptr.rs:50:9
[INFO] [stderr]     |
[INFO] [stderr]  50 |           pub enum InnerPtr<K: Key, V> {
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 | / make_inner_ptr!(Empty,
[INFO] [stderr] 178 | |                 BranchLinear, BranchBitmap, BranchUncompressed,
[INFO] [stderr] 179 | |                 LeafLinear, LeafBitmap);
[INFO] [stderr]     | |_______________________________________- in this macro invocation
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `make_inner_ptr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 | impl_key!(u8, 1);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stderr] 16 +                     u8::to_ne_bytes(self.to_be())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 | impl_key!(u8, 1);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stderr] 22 +                     u8::from_ne_bytes(bytes)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 | impl_key!(u16, 2);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stderr] 16 +                     u16::to_ne_bytes(self.to_be())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 | impl_key!(u16, 2);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stderr] 22 +                     u16::from_ne_bytes(bytes)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stdout] running 19 tests
[INFO] [stderr]   --> src/key.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 | impl_key!(u32, 4);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stderr] 16 +                     u32::to_ne_bytes(self.to_be())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 | impl_key!(u32, 4);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stderr] 22 +                     u32::from_ne_bytes(bytes)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:16:21
[INFO] [stdout] test rudymap::jpm::innerptr::test::test_new ... ok
[INFO] [stderr]    |
[INFO] [stdout] test rudymap::test::test_get_mut ... ok
[INFO] [stderr] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] test rudymap::jpm::leaf_bitmap::test::test_drop ... ok
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test rudymap::test::test_contains_key ... ok
[INFO] [stderr] ...
[INFO] [stdout] test rudymap::test::test_insert_get_1 ... ok
[INFO] [stderr] 33 | impl_key!(u64, 8);
[INFO] [stdout] test rudymap::test::test_insert_get_2 ... ok
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stdout] test rudymap::test::test_len ... ok
[INFO] [stderr]    |
[INFO] [stdout] test util::locksteparray::test_drop ... ok
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] test util::locksteparray::test_into_iter ... ok
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] test util::locksteparray::test_length ... ok
[INFO] [stderr] help: replace this with
[INFO] [stdout] test util::locksteparray::test_remove ... ok
[INFO] [stderr]    |
[INFO] [stdout] test util::test_find_end_open ... ok
[INFO] [stderr] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stdout] test util::locksteparray::test_into_iter_drop ... ok
[INFO] [stderr] 16 +                     u64::to_ne_bytes(self.to_be())
[INFO] [stdout] test util::test_partial_read ... ok
[INFO] [stderr]    |
[INFO] [stdout] test util::test_read_write ... ok
[INFO] [stderr] 
[INFO] [stdout] test util::test_partial_write ... ok
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stdout] test util::test_find_item ... ok
[INFO] [stderr]   --> src/key.rs:22:21
[INFO] [stdout] test util::test_find_open ... ok
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 | impl_key!(u64, 8);
[INFO] [stderr]    | ----------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stderr] 22 +                     u64::from_ne_bytes(bytes)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 |                     ::std::mem::transmute(self.to_be())
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 | impl_key!(usize, 8);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 16 -                     ::std::mem::transmute(self.to_be())
[INFO] [stderr] 16 +                     usize::to_ne_bytes(self.to_be())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr]   --> src/key.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     ::std::mem::transmute(bytes)
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 | impl_key!(usize, 8);
[INFO] [stderr]    | ------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stderr]    = note: this warning originates in the macro `impl_key` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: replace this with
[INFO] [stderr]    |
[INFO] [stderr] 22 -                     ::std::mem::transmute(bytes)
[INFO] [stderr] 22 +                     usize::from_ne_bytes(bytes)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `rudy` (lib) generated 25 warnings (run `cargo fix --lib -p rudy` to apply 17 suggestions)
[INFO] [stderr] warning: `rudy` (lib test) generated 25 warnings (25 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rudy-9a390093f2b5b2ef)
[INFO] [stdout] test util::locksteparray::test_different_sized_arrays - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/smoke.rs (/opt/rustwide/target/debug/deps/smoke-11dcc3bd1a70f0b7)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test smoke_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rudy
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d63ae4a58a4aba287d721034c3e906097877e04919972d7d4a10a4c332b5a85a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d63ae4a58a4aba287d721034c3e906097877e04919972d7d4a10a4c332b5a85a", kill_on_drop: false }`
[INFO] [stdout] d63ae4a58a4aba287d721034c3e906097877e04919972d7d4a10a4c332b5a85a
